package com.ds.lens.flink.monitor;

/**
 * @author ethan
 */
public interface MonitorJobConstants {

    String JOB_CHECKPOINT_ENABLE_FIELD = "lens.job.checkpoint.enable";

    String JOB_DEFAULT_PARALLELISM_FIELD = "lens.job.default.parallelism";
    String JOB_METRICS_PARALLELISM_FIELD = "lens.job.metrics.parallelism";


    String JOB_CHECKPOINT_INTERVAL_FIELD = "lens.job.checkpoint.interval";

    String JOB_CHECKPOINT_TIMEOUT_FIELD = "lens.job.checkpoint.timeout";

    String JOB_KAFKA_SERVER_FIELD = "lens.kafka.bootstrap-servers";

    String JOB_KAFKA_MONITOR_EVENT_TOPIC_FIELD = "lens.kafka.monitor.event.topic";

    String JOB_KAFKA_METRICS_TOPIC_FIELD = "lens.kafka.metrics.topic";

    String JOB_KAFKA_EXTERNAL_EVENT_TOPIC_FIELD = "lens.kafka.external.event.topic";

    String JOB_KAFKA_GROUP_FIELD = "lens.kafka.consumer.group";

    String FORECAST_KAFKA_SERVER_FIELD = "forecast.kafka.bootstrap-servers";

    String FORECAST_KAFKA_GROUP_FIELD = "forecast.kafka.consumer.group";

    String FORECAST_DATA_KAFKA_TOPIC_FIELD = "forecast.data.kafka.topic";

    String FORECAST_ACTUAL_DATA_KAFKA_TOPIC_FIELD = "forecast.actual.data.kafka.topic";

    String FORECAST_KAFKA_USERNAME = "forecast.kafka.username";

    String FORECAST_KAFKA_PASSWORD = "forecast.kafka.password";

    String KAFKA_BROKER_SERVER_CONFIG_FIELD = "bootstrap.servers";

    String KAFKA_CONSUMER_GROUP_CONFIG_FIELD = "group.id";

    String MONITOR_DEFINE_SERVICE_URL = "monitor.define.service.url";

    String LENS_DATASOURCE_INTERVAL_SECOND = "lens.datasource.interval.second";

    String LENS_PRINT_DEBUG_INFO = "lens.print.debug.info";

    String ONDUTY_PARAM_AGENT_ID = "onduty.param.agent.id";

    String ONDUTY_PARAM_SERVICE_TYPE = "onduty.param.service.type";

    String ONDUTY_PARAM_SERVICE_KEY = "onduty.param.service.key";

    String ONDUTY_SERVICE_URL = "onduty.service.url";
    String ONDUTY_AUTHORIZATION = "onduty.header.authorization";
    String ONDUTY_TICKET_EXPIRED_TIME = "onduty.ticket.expired.time.minutes";

    String MAIL_SMTP_HOST = "mail.smtp.host";
    String MAIL_SMTP_PORT = "mail.smtp.port";
    String MAIL_SMTP_FROM = "mail.smtp.from";
    String MAIL_SMTP_USERNAME = "mail.smtp.username";
    String MAIL_SMTP_PASSWORD = "mail.smtp.password";

    String WEIXIN_ENABLE = "weixin.enable";
    String WEIXIN_URL = "weixin.url";
    String WEIXIN_CORPID = "weixin.corpid";
    String WEIXIN_CORPSECRET = "weixin.corpsecret";
    String WEIXIN_AGENTID = "weixin.agentid";

    String BINLOG_BOOTSTRAP = "lens.binlog.bootstrap-servers";
    String BINLOG_GROUP_ID = "lens.binlog.group";
    String BINLOG_USERNAME = "lens.binlog.username";
    String BINLOG_PASSWORD = "lens.binlog.password";
    String BINLOG_TOPIC = "lens.binlog.topic";
    String BINLOG_APP_ID = "lens.binlog.appID";
    String BINLOG_APP_KEY = "lens.binlog.appKey";

    String LENS_MAX_CACHE_SIZE = "lens.max.cache.size";

    String LENS_CACHE_EXPIRED_IN_MINUTE = "lens.cache.expired.minute";

    String LENS_MAX_BATCH_SIZE = "lens.max.batch.size";

    String LENS_APM_METRIC_SERVICE_URL = "lens.apm.metric.service.url";

    //ES config
    String ES_BULK_SIZE_CONFIG_FIELD = "bulk.flush.max.actions";
    String ES_INTERVAL_MS_CONFIG_FIELD = "bulk.flush.interval.ms";
    String JOB_ES_CLUSTER_NODE_NAME_FIELD = "lens.elasticsearch.cluster-name";
    String JOB_ES_BULK_SIZE_FIELD = "lens.elasticsearch.bulk.size";
    String JOB_ES_FLUSH_INTERVAL_FIELD = "lens.elasticsearch.flush.interval.ms";
    String JOB_ES_CLUSTER_HTTP_NODE_FIELD = "lens.elasticsearch.http.cluster-nodes";
    String JOB_ES_CLUSTER_SOCKET_NODE_FIELD = "lens.elasticsearch.socket.cluster-nodes";
    String ES_CLUSTER_NAME_CONFIG_FIELD = "cluster.name";
    String ES_MONITOR_EVENT_INDEX_CONFIG_FIELD = "lens.elasticsearch.monitorevent.index";
    String ES_MONITOR_EVENT_TYPE_CONFIG_FIELD = "lens.elasticsearch.monitorevent.type";
    String ES_METRIC_DATA_INDEX_CONFIG_FIELD = "lens.elasticsearch.metricdata.index";
    String ES_METRIC_DATA_TYPE_CONFIG_FIELD = "lens.elasticsearch.metricdata.type";
    String ES_FORECAST_DATA_INDEX_CONFIG_FIELD = "lens.elasticsearch.forecast-data.index";
    String ES_FORECAST_DATA_TYPE_CONFIG_FIELD = "lens.elasticsearch.forecast-data.type";
    String ES_FORECAST_KAFKA_DATA_INDEX_CONFIG_FIELD = "lens.elasticsearch.forecast-kafka-data.index";
    String ES_FORECAST_KAFKA_DATA_TYPE_CONFIG_FIELD = "lens.elasticsearch.forecast-kafka-data.type";
    String ES_DYNAMIC_DETECTION_RESULT_INDEX_CONFIG_FIELD = "lens.elasticsearch.dynamic_detection_result.index";
    String ES_DYNAMIC_DETECTION_RESULT_TYPE_CONFIG_FIELD = "lens.elasticsearch.dynamic_detection_result.type";

    String COMMA_DELIMITER = ",";
    String SEMICOLON_DELIMITER = ":";

    String LENS_WEB_HOST = "lens.web.host";
}
